package com.minglead.crawler.enums;

import cn.hutool.core.util.ObjectUtil;
import com.minglead.crawler.entity.SelectEntity;
import com.minglead.crawler.util.StringUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * @author bxh
 * @Description 舆情所属行业
 * @date 2024/8/1
 */
public enum IndustryEnum {
    //所属行业，0:交通运输仓储邮政 1:住宿餐饮 2:信息软件 3:农业 4:制造业 5:卫生医疗 6:国际组织 7:建筑 8:房地产
    //9:政府组织 10:教育 11:文体娱乐 12:水利环境 13:电力燃气水生产 14:科学技术 15:租赁法律 16:采矿 17:金融
    JT("0", "交通运输仓储邮政"),
    ZS("1", "住宿餐饮"),
    XX("2", "信息软件"),
    NY("3", "农业"),
    ZZ("4", "制造业"),
    WS("5", "卫生医疗"),
    GJ("6", "国际组织"),
    JZ("7", "建筑"),
    FD("8", "房地产"),
    ZF("9", "政府组织"),
    JY("10", "教育"),
    WT("11", "文体娱乐"),
    SL("12", "水利环境"),
    DL("13", "电力燃气水生产"),
    KX("14", "科学技术"),
    ZL("15", "租赁法律"),
    CK("16", "采矿"),
    JR("17", "金融");


    /** 枚举值 */
    private final String code;

    /** 枚举描述 */
    private final String description;


    IndustryEnum(String code, String message) {
        this.code = code;
        this.description = message;
    }

    public String getCode() {
        return code;
    }

    public String getMessage() {
        return description;
    }

    /**
     * 获取下拉列表填充数据
     * @return 下拉列表填充数据
     */
    public static List<SelectEntity> getSelectList() {
        List<SelectEntity> result = new ArrayList<>();
        for (IndustryEnum row :
                IndustryEnum.values()) {
            SelectEntity data = new SelectEntity();
            data.setLabel(row.description);
            data.setVal(row.code);
            result.add(data);
        }
        return result;
    }

    public static IndustryEnum getEnum(String code) {
        if (ObjectUtil.isNotNull(code)) {
            IndustryEnum[] VALUES = IndustryEnum.values();
            for (IndustryEnum ele : VALUES) {
                if (StringUtils.equals(ele.code,code)) {
                    return ele;
                }
            }
        }
        return null;
    }
}
